其他
Bengio教授的深度学习终极思考:文化、进化与迷因
首次看到Bengio教授这篇论文是在[对话机器学习大神Yoshua Bengio(下)]
这篇论文是提问时候偶然提到的,按照Question中说法: 您(Bengio)是机器学习领域唯一公开的以深度学习来研究社会学的科学家。 所以相对于Hinton教授给我们带来生物神经方面的New Idea和Surprise(Hinton有剑桥认知心理学学士学位)从社会、文化角度扩展Deep Learning是非常有必要的,Bengio教授把重点放在了这个方向,其实和他的研究经历有关。
他是神经网络(Forward-NN、Recurrent-NN)在自然语言处理(NLP)方向上推广的重要贡献人之一。[Bengio03] 如果你曾经品读过他的100页大论文 [Learning Deep Architectures for AI] ,就会不得不佩服Bengio教授的思想。 如果说Hinton创立了Deep Learning,那么Bengio就是Deep Learning最好的布道师和奠基人。 作为一位坚持不加入任何商业公司的纯粹学者、Quora最受欢迎的机器学习专家,他对Deep Learning和AI的贡献非常大。
我们为何而学习?消磨人生?显然不是。
人类的学习情结大致由两方面构成: (I) Predictive Criterion(预测): 我们会不自觉的受到[时间访问局部性]的浸染,即当前遭遇的知识(Context)很有可能在近期再次相遇(Encounter)。 显然,如果不对当前的Context进行剖析,那么意味着未来多次相遇时,无法做出预测(Prediction),得不偿失。 贪心机制会诱导我们尽早地对不确定的Context学习,用成语来讲就是“ 亡羊补牢,未为迟也”。 (II) Reward Criterion(激励): 一些与生存有关的问题会被独立诱导学习。 比如吃货在获取[如何满足口福]方面,显然有很强的积极性。 又比如,为了满足生理需求,人类在[性知识]方面的探索可谓是五花八门。 其中(I)广泛见于“监督学习”、“非监督学习”,(II)的相关工作由“强化学习”完成。
期望积分形式不是很直观,它有更亲切的表达形式:
我们熟知的大部分监督学习算法,其优化目标基本都是min Criterion(θ) 显然,当θOptimization≈θReal,我们认为Optimization过程引导Agent完成了学习任务。
你觉得(II)是否很功利?显然是,我们人类只会贪婪地朝满足自己的目标发展,这是骨子里的[目标性]。 你觉得(I)是否很功利?显然也是,数学式不会给我们反驳的机会,这也是骨子里的[目标性]。
综合(I)(II),Bengio提出了第一个假设:
考虑一个高一物理题:
这是一个有趣的问题,因为从微观上来讲,这个人很努力地跑,大家心知肚明。 但是,从宏观上来讲,他其实在原地踏步,浪费时间。 这样的问题在自然界是普遍存在的,贯穿[人类文明]的发展。
推理(Inference)过程是相当微观、细致的,起码它是神经元级别的变化。
非线性分类模型的拓扑结构,基本都有隐变量(Latent variables)。 隐变量经过非线性的激活(重视or不重视),变成隐元(Hidden Units),(注:SVM的隐元即支持向量)。隐元介于输入和输出之间,包含着对输入的[编码信息],解释(explain)着当前的观测样本。
在Forward-NN里,隐元只和上一层隐元(或输入)连接[前向连接],在Recurrent-NN里,隐元还和当前层隐元连接[递归连接]。
推理是迭代的(iterative),时间尺度为[秒级],不停地修改[Configurations],尽可能认同更多的(agree more)观测样本。 每次瞬时的变化(change),意味着心智状态(state of mind)的瞬变。 变化的跳跃范围可能很大,因为神经元数量众多,且很敏感,容易牵一发而动全身。不像学习,是一个徐徐渐进的过程。
学习是一个渐进、积累的过程,时间尺度为[分钟级]。
推理算是学习的子过程,个人用一个有趣数学式来表达: Learning(t)=∫Inference(t)dt 即对推理过程函数中的[时间]进行积分,得到学习过程函数。
回到瞬时速度和平均速度问题,众多推理过程可能是雄心勃勃的,但是构成的学习过程却可能是毫无意义的。 正如积分最倒霉的是积成了[零],只要积分曲线(面)具有对称性。推理过程显然也可以呈现对称性,而且是大量地对称性。
网络上的一个著名励志段子: 当你的所拥有的知识撑不起你的野心时,你只能 静下心去努力学习 原地打转。 闭门造车的推理,即便花了时间,得到的其实还是[零]。
既然人类自然学习本身就存在局部最小值,那么是如何掉进去的,又如何从中逃逸? 来看Bengio的第二个假设:
[论文2.7节]最后有一个观点很突兀:
那么问题就肯定出在学习过程了,个人总结出四个关键点: (I) 首先,根据Bengio的假设,学习过程显然是间断的,少有学习任务能够一气呵成。 (II) 一旦间断,就肯定需要[断点续传],每次选择一个局部的方向继续工作。 (III) 在学习后期,学习速率通常会变得很慢(比如厌学了),导致学习几乎停滞不前了。 (IV) 知识是有限的,尤其是在解决世界难题上(如NP完全问题),一部分人仍然会固执地坚持似乎不正确的解(N=NP)。
(II)显然不能保证,当前由贪心原则选择的[最速下降路径]一定是[通往全局最小值路径]的子路径。 因为函数曲面必然存在大量[局部最小值],所以搜索必然不会恰好选择[通往全局最小值路径],而是在中间就落入局部最小值。 这是为什么[局部最小值]不可避免的自然原因。当然,Bengio还指出的更坏的情况,当前[最速下降路径],甚至不能保证会到达[局部最小值]。 依据是[随机梯度下降]与[批梯度下降]。 我们知道,[随机梯度下降]没有选择全部样本来学习,而是逐部分学习,最后会下降到离[批梯度下降]稍远的偏移位置。 这是[断点续传]策略造成的不可避免型[精度误差],Bengio称该偏移位置为[Effective Local Minima]。
(III)的解释可从二阶下降的牛顿法角度观察,学习速率由二阶Hessian矩阵控制:Δxt=Ht^−1⋅gt 随着[误差]的不断减小Ht^-1近似也在减小,学习速率的下降似乎是无法挽回的。 以至于最后,学习进程几乎处于停滞状态,此时很大可能在某个局部最小值附近,于是就出不来了。
从社会角度来看,出自[对话机器学习大神Yoshua Bengio(下)]中的Q&A:
对于(IV),我们都知道: “失败乃成功之母”。失败是必然有的,说明你掌握的知识有限。 物理学巨匠牛顿说过:“如果说我看得比别人更远些,那是因为我站在巨人的肩膀上。” 随着越来越多的先辈在[局部最小值]中摸爬滚打,我相信,在未来,我们的子孙肯定会到达[全局最小值]。
尽管在自然学习过程中,陷入局部最小值不可避免,但人类目前至少存在两个途径来逃逸。
该策略是有实验依据的,由Bengio组在2014年(本论文写成2年后)发现: 当参数(神经元)的维度很高时,局部最小值会蜕变成鞍点:
参数高维,即每层中神经元个数很多,VC维超级大,会出现和直觉相悖的现象:几乎不存在局部最小值。
Bengio对此的解释: [2015蒙特利尔深度学习暑期学校之自然语言处理篇.哈工大SCIR]
尽管这时候模型总VC维已经庞大的无法直视,但是只要擅加稀疏和屏蔽,瞬时的结构风险是并不大的。 生物神经网络的Dropout稀疏率达95%以上,也就说,同时有95%的神经元被屏蔽,仅有5%是在工作的。
这时候,只要保持一个愉悦的心情,学习就会有效得多。如果继续保持重压,那么过拟合显然不可避免的。 正所谓:打骂(神经元数量使用特别多)出来的清华北大,不是残就是废(过拟合)。
几乎大部分关于Deep Learning资料,开篇必引1981年诺贝尔生理学或医学奖获得者, Hubel&Wiesel。 他们在1974年经典之作[Visual-field representation in layer IV of monkey striate cortex],可以说是万恶之源。 至于深度神经网络的最初构想是否真的与Hubel&Wiesel的工作有关,并没有确切证据。但拿诺奖来贴金,这是非常划算的买卖。
尽管单隐层神经网络被证明可将任何函数拟合至精度为1/n [Barron 1993],但是正如我们不会写出单函数代码一样,这并没有意义。 单隐层结构本身就不是科学的,起码它缺少神经元[复用](re-use)机制,效果不会很好。
Bengio组的另一个研究热点即使探索深度的[等效性],当前呼声较高的是这个假设:
Some functions compactly represented with k layers may require exponential size with 2 layers.
(Hastad et al 86&91, Bengio et al 2007,Bengio&Delalleau 2011, Braverman 2011,Pascanu et al 2014, Montufar et al 2014)
[复用]机制让神经网络结构变得很灵活,副作用也很明显,它服从于乘法原理。 从图论观点来看,假设每个结点连出两条路径,那么到达深度nn的结点就有2n2n条路径,复杂度呈指数级增长。 大量的可选择路径,让模型在搜索过程中,不停陷入形形色色的局部最小值当中,这似乎是无法避免的。
回忆一下,当你初逢《高等数学》,你是如何理解积分这样高级概念的:
关于这个“世界”的表达,不同的人会产生不同的抽象,让自身去更好地理解。 虽然抽象内容各不相同,但这种行为是共性的——层次结构、分布联系、深度计算。 鉴于此,Bengio提出第三个假设:
by deeper computations (going through more areas or more computational steps in
sequence over the same areas).
数据挖掘最常见的思路:先聚类,定模式。后分析,精结果。这种主动意识的行为,真的没有潜意识在诱导嘛?
考虑一个小学低年级的奥数题:
0、1、1、2、3、5、8、13、21、34、__、__、__。
据此两点,Bengio提出第一、第二观测现象:
神经网络并没有什么奇妙的内涵,它本质仍然是一个[启发式穷举搜索模型]。 类似于A*,它的启发式方向是[贪心策略:最速下降]。 但这个穷举,是一个连续实数型的无尽穷举,是一个曲面复杂的连续函数的生成。 类比于[深度优先搜索],我们都知道,随着深度的增加,会出现越来越恶劣的情况。 而神经网络同样有这样的厄运,这在上个世纪90年代,是被各界广为批判的,相关实验在[Erhan09]中。 据此,Bengio提出第三观测现象:
剥离输出层,将最后的隐层输出降维,且2D可视化,得到轨迹线图:
这个轨迹线隐含着两点有趣的现象: (I) 不同初始化的神经网络,选择了独立的搜索方向,陷入了独自的局部最小值中,彼此不会重合。 (II) 没有预训练的神经网络,杂乱无章地在乱跑。
据此,Bengio提出第四、第五观测现象:
conditions of the descent procedure allows one to reach much better local minima, and these better local minima do not appear to be reachable by chance alone (note how the regions in function space associated with the two “flowers” have no overlap at all, in fact being at nearly 90 degrees from each other in the highdimensional function space).
Bengio根据以上的Observation作了三个伟大的假设,他认为: 人类和现在的神经网络模型一样愚蠢,饱受[局部最小值]与[难以驾驭深度结构]的折磨。
前提条件:[One Single Human Learner],当然这个条件是不存在的,除非世界上除你以外的人都死光了
根据 Local Descent Hypothesis、O4、O5,Bengio提出局部最小值假设:
结合O3,有对于训练深度结构的艰难假设:
最后,是一个关于徒有深度结构、却几乎不能利用之来逐层抽象的假设:
sub-network in the brain.
但如果从史前时代开始,世界上就你一个人,你保持不死状态直到今天,没准今天真和模型一样愚蠢。 而之所以没有出现这种情况,是因为[社会文化浸染]与[有性繁殖],让我们的进化地如此强大。
考虑这样一个场景:
看完上面的笑话,我们一般会觉得,牛顿其实也很蠢。 如果没人告诉他[苹果是甜甜的],那么他可能一辈子会把[红色的皮球]错认为是[红色的苹果],掉进一个局部最小值中。
其实事情不比那么糟,牛顿起码有一个方法,让[红色的、圆的、甜甜的]的物体也被他认为是苹果:只要他不知道[苹果是可以吃的],即,牛顿的神经网络中,扔掉关于[味道]的隐层,让网络深度变浅。 这不禁让我们想起了 O3 , 错误地直接训练多层网络,会让结果变糟,此时浅层结构胜于深度结构。但,如果牛顿使用了正确的方法,比如真的去KFC吃了苹果鸡腿堡,那么就会认为[红色的、圆的、咸咸的]肯定不是苹果, 这比直接舍弃[苹果是可以吃的]有效地多,此时深度结构远胜于浅层结构,符合O1。
[交流]不仅仅局限于人类,动物之间那些[危险警示],也可视为[交流],这样,愚蠢的动物才能有效学习如何保护自己。 据此,Bengio提出引导学习假设:
humans, which act as hints or indirect supervision for these high-level abstractions.
在神经网络中,我们假设: [回想]过程发出了一个训练信号(Train Signal),牛顿的神经元立刻开始飞舞起来, 经过多轮的推理(Inference),将[颜色][形状][味道]三个隐层的值给[Fine-Tune]下,降低了识别错误率。显然,因为牛顿爱思考的性格,[交流]触发了牛顿的学习机制。 这倒是能解释,为什么同样的老师上了同样的课,学生有的考上了清华,有的成了家里蹲。
[交流]在神经系统中产生最频繁的效应就是[虚拟环境],通俗点就是“不在场却能身临其境”。 经[交流]直接修改的神经网络,上下协调性不佳,需要[Fine-Tuning],可能还需要一些新样本来强化记忆理解。
Hinton教授认为生物神经元普遍包含两种方向的计算。 这是一个证明RBM和AutoEncoder合理性的突破点,因为大多数情况下,需要在“判别模型”和“生成模型”间快速切换。
[虚拟环境]的产生可以用“生成模型”来解释,只要将前向传播的方向逆置,从[颜色]到[形状]、[味道],生成“苹果”, 就能在没有看见苹果的情况下,脑中浮现出苹果。 [交流]将关于世界的[概念](Concept)传播,传播通道的带宽是有限的,这意味着将产生[竞争]。
比如,我们在接受[地球是圆的]同时,会排斥[地球是方的]、[地球是三角形的]。
[竞争]是自然界的标准法则,所谓优胜劣汰,适者生存. 最后留下的[概念]在族群(Population)神经网络的[局域网]中,成为霸主,此时[概念]进化为[信仰]。[信仰]同[深度结构]类似,是一把双刃剑。
正确的[信仰],如哥白尼的[日心说],有助于我们走出关于天体运动的[局部最小值]。 错误的[信仰],如亚里士多德的[力是维持物体运动的原因],则会长期把我们囚禁在[局部最小值]中。
该部分是Bengio个人的一个小研究,基于 Guided Learning Hypothesis. , 即学习过程是可以被引导的。 课程顺序学习制度是人类在学习任务上的经验总结,一个实例如下:
在选修课程中,有些课程可以直接选修,有些课程需要一定的基础知识,必须在选了其它的一些课程的基础上才能选修。例如《Frontpage》必须在选修了《Windows操作基础》之后才能选修。我们称《Windows操作基础》是《Frontpage》的先修课。
从感觉上来看,先修课制度划定了学习进程的任务次序,具有[由浅入深性]、[无后效性],保证学习进程循序渐进。 同时,让学习任务也具有深度结构,这是一个合理的层次抽象策略( 从简单抽象(子抽象)到复杂抽象(组合抽象) ) 。
据此,Bengio假设,如果在机器学习任务中,能够将样本的学习难度划分,重新安排学习顺序,那么就会有更好的效果。 因为学习是局部渐进的,所以低难度的学习样本,目标函数曲面较为简单,能够较为接近[全局最小值]。 再次,使用中、高难度的样本,函数曲面逐渐复杂,最后仍然会落入[局部最小值]中,不过位置更接近[局部最小值]。
理查德·道金斯(Richard Dawkins)大概是世界上最野心勃勃、最不为人知的生物进化学家了。 在他的研究中,最令人难忘的工作就是提出“迷因论”,[果壳网]有一篇很好的翻译介绍。
几乎世界万物的生命进程都可以看作是一个搜索进程。 基因的进化是在搜索—— 不断舍弃劣等基因,探索高等基因。(历程:几十万年) 迷因的进化是在搜索—— 在数量爆炸性的文化中,寻找传承不息的迷因子。(历程:几十年、几百年、几千年) 学习的进化是在搜索—— 个体为将所掌握的知识统一,琢磨一个支点去平衡它们。(历程:几分钟、几小时、几天) 推理的进化是在搜索—— 神经元为了协调神经关系,不断变化自己。(历程:几毫秒,几秒)这些搜索策略,因为大自然的馈赠,获得了足以并行搜索的条件。
基因的并行在于[有性繁殖],一个家族生生不息的繁衍,一起推动着这个家族基因的并行搜索进程。迷因的并行在于[宿主传播],显然,知乎的一条回答,能够在短时间内进入数以千计人的脑中,加深“膜蛤”印象。 学习的并行在于[个体交流],一个经典案例就是 “牛顿是如何认知苹果是红色的、圆圆的、甜甜的?”
推理的并行在于[神经网络],神经元彼此连接着,构成神经网络,而神经冲动无时无刻不在产生,瞬息万变。
自然界的四大并行搜索是可怕的,它们之间层层叠加,协助人类以最快的速度从[局部最小值]中逃逸,无限逼近[全局最小值]。
尽管迷因子看起来无所不能,但仔细分析,道金斯仅给出迷因的两种特性:[自由脑入侵]与[噪声复制] (noisy copy) 这两种特性只能描述迷因子发展的中间状态,一个很严肃的问题必须被考虑:最早的迷因子无从复制,又如何而来? 该问题一定程度上等效于哲学上的“鸡生蛋,还是蛋生鸡?” 显然,要解决这个疑问,就必须从迷因论中跳出来,在其他领域寻找论据。
最先、也是最容易产生的一种假设,就是迷因起源于它的栖息地——脑,由神经网络而生。如果这种假设是正确的,那么迷因就获得第三种特性 [迷因重组]。 [迷因重组]的想法显然效仿于[基因重组],[基因重组]是[有性繁殖]生物体内在的一种可怕技术。人类的基因数量只有5万,且[基因突变]的频率太低,但是一旦这些基因排列组合,产生的基因型数量是庞大到无法计算的。 [迷因重组]更加可怕,人的一生接触的迷因子显然不止5万,所以[迷因重组]可以产生大量的崭新迷因子。 这似乎能解释迷因子的起源问题。
据此,Bengio提出迷因分治传播假设:
潘汀
合肥工业大学计算机专业大三本科生,中科院计算所VIPL组2017级推免生。原ACM-ICPC算法竞赛选手,2015年获CCPC铜牌。2015年初开始研究机器学习,研究兴趣集中于对深度学习理论、应用(CV&NLP)及系统架构设计的综合探索。关于深度学习在面部情感分析方面应用的论文被《自动化学报》录用。